Mobile phone users (and users of other devices) often send instant messages (IM) to other mobile phone users. In order to send an IM, a mobile phone user can simply type and send the IM to a mobile phone number of another user. This IM is then usually routed to an IM backend, such as a central server, where it is then sent to the other mobile phone. However, routing of the IM messages between multiple mobile phones can present various challenges.